#pragma once

#include <external/iselfcontrol.h>

class ActionPauseHandler
{
public:
    ActionPauseHandler();
    ~ActionPauseHandler();

    unsigned getActionPause(ISelfControl::Action action) const;
    void setFullPause(ISelfControl::Action action);

    /**
     * @brief decrease - decreases pause, usually called after turn ends
     */
    void decrease();

private:
    unsigned _pauses[ISelfControl::ActionsNum];
};
